<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    //在ES6以前，我们无法给一个函数参数设置默认值，只能采用变通写法：
    function add(a, b) {
            // 判断b是否为空，为空就给默认值1
            b = b || 1;
            return a + b;
    }
    // 传一个参数
    console.log(add(10));
    //现在可以这么写：直接给参数写上默认值，没传就会自动使用默认值
    function add2(a, b=2){
        return a+b
    }
    console.log(add2(20))

    //不定参数:...values
    function fun(a,b=1,...values) {
        console.log(a+b,values.length)
    }
    fun(1, 2, 3)      //3 1
    fun(1, 2, 3, 4,5)  //3 3

    //箭头函数
    // 以前声明一个方法
    var print = function (obj) {
        console.log(obj);
    }
    //现在
    var print2 = a => console.log(a);
    print2("hello")

    var print3 = (a,b) => console.log(a+b);
    print3(11,12)

    //箭头函数+解构
    const person = {
        name: "jack",
        age: 21,
        language: ['java', 'js', 'css']
    }
    var hello = ({name}) =>console.log(name);
    hello(person)

</script>
</html>